package controle.acesso.control;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import service.UsuarioService;
import utils.Constantes;


import model.Usuario;

import control.GenericControl;
import controle.acesso.model.Acesso;
import controle.acesso.model.Funcionalidade;
import controle.acesso.service.AcessoService;
import controle.acesso.service.FuncionalidadeService;

public class AcessoControl extends GenericControl {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public AcessoControl() {
		super();
		// TODO Auto-generated constructor stub
	}

	public boolean deny(HttpServletRequest request, HttpServletResponse response) {
    	String acao = request.getParameter("acao");
//    	String method = request.getParameter("acao").split(".")[1];
//    	String className = "control." + request.getParameter("acao").split(".")[0];


    	Usuario logado=(Usuario) request.getSession().getAttribute(Constantes.LOGADO);
    	UsuarioService usuarioService = new UsuarioService();
    	logado = usuarioService.select(logado);
		
		
    	Funcionalidade funcionalidade=new Funcionalidade();
    	funcionalidade.setAcao(acao);
    	
    	FuncionalidadeService funcionalidadeService = new FuncionalidadeService();
    	funcionalidade = funcionalidadeService.select(funcionalidade);
    	
		Acesso acessoBusca = new Acesso();
		acessoBusca.setGrupo(logado.getGrupo());
		acessoBusca.setUseCase(funcionalidade.getUseCase());
		AcessoService acessoService = new AcessoService();
		
		return !acessoService.select(acessoBusca);
	}

	
	

}
